/*
 * An XML document type.
 * Localname: exception-handler
 * Namespace: urn:jbpm.org:jpdl-3.2
 * Java type: x2.orgJpdl3.jbpm.ExceptionHandlerDocument
 *
 * Automatically generated - do not modify.
 */
package x2.orgJpdl3.jbpm;


/**
 * A document containing one exception-handler(@urn:jbpm.org:jpdl-3.2) element.
 *
 * This is a complex type.
 */
public interface ExceptionHandlerDocument extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(ExceptionHandlerDocument.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.s9AF6EB416A5C93629A4C02ECFBC1909B").resolveHandle("exceptionhandler2151doctype");
    
    /**
     * Gets the "exception-handler" element
     */
    x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler getExceptionHandler();
    
    /**
     * Sets the "exception-handler" element
     */
    void setExceptionHandler(x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler exceptionHandler);
    
    /**
     * Appends and returns a new empty "exception-handler" element
     */
    x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler addNewExceptionHandler();
    
    /**
     * An XML exception-handler(@urn:jbpm.org:jpdl-3.2).
     *
     * This is a complex type.
     */
    public interface ExceptionHandler extends org.apache.xmlbeans.XmlObject
    {
        public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
            org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(ExceptionHandler.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.s9AF6EB416A5C93629A4C02ECFBC1909B").resolveHandle("exceptionhandler6189elemtype");
        
        /**
         * Gets a List of "action" elements
         */
        java.util.List<x2.orgJpdl3.jbpm.ActionDocument.Action> getActionList();
        
        /**
         * Gets array of all "action" elements
         * @deprecated
         */
        x2.orgJpdl3.jbpm.ActionDocument.Action[] getActionArray();
        
        /**
         * Gets ith "action" element
         */
        x2.orgJpdl3.jbpm.ActionDocument.Action getActionArray(int i);
        
        /**
         * Returns number of "action" element
         */
        int sizeOfActionArray();
        
        /**
         * Sets array of all "action" element
         */
        void setActionArray(x2.orgJpdl3.jbpm.ActionDocument.Action[] actionArray);
        
        /**
         * Sets ith "action" element
         */
        void setActionArray(int i, x2.orgJpdl3.jbpm.ActionDocument.Action action);
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "action" element
         */
        x2.orgJpdl3.jbpm.ActionDocument.Action insertNewAction(int i);
        
        /**
         * Appends and returns a new empty value (as xml) as the last "action" element
         */
        x2.orgJpdl3.jbpm.ActionDocument.Action addNewAction();
        
        /**
         * Removes the ith "action" element
         */
        void removeAction(int i);
        
        /**
         * Gets a List of "script" elements
         */
        java.util.List<x2.orgJpdl3.jbpm.ScriptDocument.Script> getScriptList();
        
        /**
         * Gets array of all "script" elements
         * @deprecated
         */
        x2.orgJpdl3.jbpm.ScriptDocument.Script[] getScriptArray();
        
        /**
         * Gets ith "script" element
         */
        x2.orgJpdl3.jbpm.ScriptDocument.Script getScriptArray(int i);
        
        /**
         * Returns number of "script" element
         */
        int sizeOfScriptArray();
        
        /**
         * Sets array of all "script" element
         */
        void setScriptArray(x2.orgJpdl3.jbpm.ScriptDocument.Script[] scriptArray);
        
        /**
         * Sets ith "script" element
         */
        void setScriptArray(int i, x2.orgJpdl3.jbpm.ScriptDocument.Script script);
        
        /**
         * Inserts and returns a new empty value (as xml) as the ith "script" element
         */
        x2.orgJpdl3.jbpm.ScriptDocument.Script insertNewScript(int i);
        
        /**
         * Appends and returns a new empty value (as xml) as the last "script" element
         */
        x2.orgJpdl3.jbpm.ScriptDocument.Script addNewScript();
        
        /**
         * Removes the ith "script" element
         */
        void removeScript(int i);
        
        /**
         * Gets the "exception-class" attribute
         */
        java.lang.String getExceptionClass();
        
        /**
         * Gets (as xml) the "exception-class" attribute
         */
        org.apache.xmlbeans.XmlString xgetExceptionClass();
        
        /**
         * True if has "exception-class" attribute
         */
        boolean isSetExceptionClass();
        
        /**
         * Sets the "exception-class" attribute
         */
        void setExceptionClass(java.lang.String exceptionClass);
        
        /**
         * Sets (as xml) the "exception-class" attribute
         */
        void xsetExceptionClass(org.apache.xmlbeans.XmlString exceptionClass);
        
        /**
         * Unsets the "exception-class" attribute
         */
        void unsetExceptionClass();
        
        /**
         * A factory class with static methods for creating instances
         * of this type.
         */
        
        public static final class Factory
        {
            public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler newInstance() {
              return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
            
            public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler newInstance(org.apache.xmlbeans.XmlOptions options) {
              return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument.ExceptionHandler) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
            
            private Factory() { } // No instance of this class allowed
        }
    }
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument newInstance() {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        /** @param xmlAsString the string value to parse */
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
        
        /** @param file the file from which to load an xml document */
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static x2.orgJpdl3.jbpm.ExceptionHandlerDocument parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (x2.orgJpdl3.jbpm.ExceptionHandlerDocument) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
